package com.panasonic.cn.cmsc;

import java.io.*;
import java.lang.*;
import java.util.*;
import java.math.*;
import java.sql.SQLException;
import com.fujitsu.fks.jaaf.core.*;

public class SQLMM0205{
	private Hashtable paramsString     = new Hashtable();
	private Hashtable paramsBigDecimal = new Hashtable();
	private Hashtable paramsFree       = new Hashtable();
	private String lastSql_ = null;

	private String getString(String name){
		if(name==null) return "";
		String returnStr = (String)paramsString.get(name);
		if(returnStr==null) return "";
		return "'"+FrameworkCommon.stringReplaceSQuote(returnStr)+"'";
	}

	private String getBigDecimal(String name){
		if(name==null) return "";
		BigDecimal returnStr = (BigDecimal)paramsBigDecimal.get(name);
		if(returnStr==null) return "";
		return returnStr.toString();
	}

	private String getFree(String name){
		if(name==null) return "";
		String returnStr = (String)paramsFree.get(name);
		if(returnStr==null) return "";
		return returnStr;
	}

	public String getLastSql(){
		return lastSql_;
	}

	public SelectResultRset SELECT_M0201(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("NVL( ITM_NO,          '') AS ITM_NO, ");
		sql.append("NVL( ODR_DVSN_CD,     '') AS ODR_DVSN_CD, ");
		sql.append("NVL( APL_BDT,         '') AS APL_BDT, ");
		sql.append("NVL( APL_EDT,         '') AS APL_EDT, ");
		sql.append("NVL( GNR_ADM_NO,      '') AS GNR_ADM_NO, ");
		sql.append("NVL( TMP_AC_TYP,      '') AS TMP_AC_TYP, ");
		sql.append("NVL( SCSN_ITM_NO,     '') AS SCSN_ITM_NO, ");
		sql.append("NVL( QTY_NSUM_TYP,    '') AS QTY_NSUM_TYP, ");
		sql.append("NVL( CSLD_ITM_NO,     '') AS CSLD_ITM_NO, ");
		sql.append("NVL( CTRL_DVSN_CD,    '') AS CTRL_DVSN_CD, ");
		sql.append("NVL( MFCC_CD,         '') AS MFCC_CD, ");
		sql.append("NVL( PRNT_DVSN_CD,    '') AS PRNT_DVSN_CD, ");
		sql.append("NVL( DSP_SPCF_CTNT,   '') AS DSP_SPCF_CTNT, ");
		sql.append("NVL( IBO_CAT_CD,      '') AS IBO_CAT_CD, ");
		sql.append("NVL( FMCC_DPT_NM,     '') AS FMCC_DPT_NM, ");
		sql.append("NVL( FMCC_CHRG_NM,    '') AS FMCC_CHRG_NM, ");
		sql.append("NVL( PRV_ITM_NO,      '') AS PRV_ITM_NO, ");
		sql.append("NVL( CLR_CD,          '') AS CLR_CD, ");
		sql.append("NVL( BRND_CD,         '') AS BRND_CD, ");
		sql.append("NVL( HS_CD,           '') AS HS_CD, ");
		sql.append("NVL( ACC_CAT_CD,      '') AS ACC_CAT_CD, ");
		sql.append("NVL( ITM_NM_ENG,      '') AS ITM_NM_ENG, ");
		sql.append("NVL( SLS_QTY_UN_CD,   '') AS SLS_QTY_UN_CD, ");
		sql.append("NVL( SLC_PRMT_ITM_TYP,'') AS SLC_PRMT_ITM_TYP, ");
		sql.append("NVL( KIT_TYP,         '') AS KIT_TYP, ");
		sql.append("NVL( GFT_TYP,         '') AS GFT_TYP, ");
		sql.append("NVL( FOC_TYP,         '') AS FOC_TYP, ");
		sql.append("NVL( MIN_ODR_QTY,     '') AS MIN_ODR_QTY, ");
		sql.append("NVL( STD_PKG_SZ,      '') AS STD_PKG_SZ, ");
		sql.append("NVL( STD_PKG_WDTH,    '') AS STD_PKG_WDTH, ");
		sql.append("NVL( STD_PKG_HI,      '') AS STD_PKG_HI, ");
		sql.append("NVL( STD_PKG_WGT,     '') AS STD_PKG_WGT, ");
		sql.append("NVL( TMP_PRIZ_TYP,    '') AS TMP_PRIZ_TYP, ");
		sql.append("NVL( STD_UP,          '') AS STD_UP, ");
		sql.append("NVL( ITM_NM_CN,       '') AS ITM_NM_CN, ");
		sql.append("NVL( SLS_ROUT_TYP,    '') AS SLS_ROUT_TYP,");
		sql.append("NVL( ITM_NET_WGT,     '') AS ITM_NET_WGT,");
		sql.append("NVL( FM_TYP,          '') AS FM_TYP, ");
		sql.append("TO_CHAR(UPD_DTTM,'yyyyMMdd HH24:MI:SS') AS UPD_DTTM ");
		sql.append("FROM M02 ");
		sql.append("WHERE ");
		sql.append("ITM_NO "+((getString("ITM_NO").equals(""))?" is null ":"=")+getString("ITM_NO")+" ");
		sql.append("AND ");
		sql.append("ODR_DVSN_CD "+((getString("ODR_DVSN_CD").equals(""))?" is null ":"=")+getString("ODR_DVSN_CD")+" ");
		sql.append("AND ");
		sql.append("APL_BDT"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+" ");
		sql.append("ORDER BY ");
		sql.append("ITM_NO,ODR_DVSN_CD,APL_BDT");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_M0101(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("NVL(TRPT_NM_CN,'') AS TRPT_NM_CN ");
		sql.append("FROM ");
		sql.append("M01 ");
		sql.append("WHERE ");
		sql.append("VDR_CD "+((getString("VDR_CD").equals(""))?" is null ":"=")+getString("VDR_CD")+" ");
		sql.append("AND ");
		sql.append("FM_TYP <> "+getString("FM_TYP")+" ");
		sql.append("AND ");
		sql.append("APL_BDT <"+((getString("APL_BDT").equals(""))?" is null ":"=")+getString("APL_BDT")+"");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_FLATC01(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("NVL(FLT_CD, '') AS FLT_CD,");
		sql.append("NVL(TRPT_ENGL_AB,'') AS TRPT_ENGL_AB ");
		sql.append("FROM ");
		sql.append("FLATC ");
		sql.append("WHERE ");
		sql.append("FLT_CD "+((getString("FLT_CD").equals(""))?" is null ":"=")+getString("FLT_CD")+" ");
		sql.append("AND ");
		sql.append("APL_BDT	<"+((getString("NOW").equals(""))?" is null ":"=")+getString("NOW")+" ");
		sql.append("ORDER BY RGS_DTTM DESC");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}

	public SelectResultRset SELECT_MDLNO01(FrameworkDbCommon db) throws Exception {
		StringBuffer sql = new StringBuffer();
		sql.append("SELECT ");
		sql.append("NVL(A.UNI_ITM_NO ,    '') AS UNI_ITM_NO ,");
		sql.append("NVL(A.U_I_NO_DSTC_CD ,'') AS U_I_NO_DSTC_CD ,");
		sql.append("NVL(A.APL_BDT ,       '') AS APL_BDT ,");
		sql.append("NVL(A.DCAT_CD ,       '') AS DCAT_CD ,");
		sql.append("NVL(A.TMP_AC_TYP ,    '') AS TMP_AC_TYP ,");
		sql.append("NVL(A.AC_END_DT ,     '') AS AC_END_DT ,");
		sql.append("NVL(A.A_NOIG_DVSN_CD ,'') AS A_NOIG_DVSN_CD ,");
		sql.append("NVL(A.M_PRNT_DVSN_CD ,'') AS M_PRNT_DVSN_CD ,");
		sql.append("NVL(A.JPN_SLS_TYP ,   '') AS JPN_SLS_TYP ,");
		sql.append("NVL(A.EUR_SLS_TYP ,   '') AS EUR_SLS_TYP ,");
		sql.append("NVL(A.ASA_SLS_TYP ,   '') AS ASA_SLS_TYP ,");
		sql.append("NVL(A.AMRS_SLS_TYP ,  '') AS AMRS_SLS_TYP ,");
		sql.append("NVL(A.JPN_MFC_TYP ,   '') AS JPN_MFC_TYP ,");
		sql.append("NVL(A.EUR_MFC_TYP ,   '') AS EUR_MFC_TYP ,");
		sql.append("NVL(A.ASA_MFC_TYP ,   '') AS ASA_MFC_TYP ,");
		sql.append("NVL(A.AMRS_MFC_TYP ,  '') AS AMRS_MFC_TYP ,");
		sql.append("NVL(A.FGD_TYP ,       '') AS FGD_TYP ,");
		sql.append("NVL(A.PSRC_TYP ,      '') AS PSRC_TYP ,");
		sql.append("NVL(A.SMDL_TYP ,      '') AS SMDL_TYP ,");
		sql.append("NVL(A.ITM_NO_PTC_TYP ,'') AS ITM_NO_PTC_TYP ,");
		sql.append("NVL(A.ST_TYP_TYP ,    '') AS ST_TYP_TYP , ");
		sql.append("NVL(A.DMY_TYP_TYP ,   '') AS DMY_TYP_TYP ,");
		sql.append("NVL(A.M_PT_SYBL_TYP , '') AS M_PT_SYBL_TYP ,");
		sql.append("NVL(A.PT_TYP ,        '') AS PT_TYP ,");
		sql.append("NVL(A.PRD_BDT ,       '') AS PRD_BDT ,");
		sql.append("NVL(A.PRD_EDT ,       '') AS PRD_EDT ,");
		sql.append("NVL(A.PLRL_SLS_TYP ,  '') AS PLRL_SLS_TYP ,");
		sql.append("NVL(A.SLS_DVSN_CD ,   '') AS SLS_DVSN_CD ,");
		sql.append("NVL(A.I_N_R_PRMS_TYP ,'') AS I_N_R_PRMS_TYP ,");
		sql.append("NVL(A.ITM_NM1 ,       '') AS ITM_NM1 ,");
		sql.append("NVL(A.ITM_NM2 ,       '') AS ITM_NM2 ,");
		sql.append("NVL(A.MCD_PT_SYBL_CD ,'') AS MCD_PT_SYBL_CD ,");
		sql.append("NVL(A.JPN_POS_TYP ,   '') AS JPN_POS_TYP , ");
		sql.append("NVL(A.JPN_POS_CD ,    '') AS JPN_POS_CD ,");
		sql.append("NVL(A.EUR_POS_TYP ,   '') AS EUR_POS_TYP ,");
		sql.append("NVL(A.EUR_POS_CD ,    '') AS EUR_POS_CD ,");
		sql.append("NVL(A.ASA_POS_TYP ,   '') AS ASA_POS_TYP ,");
		sql.append("NVL(A.ASA_POS_CD ,    '') AS ASA_POS_CD ,");
		sql.append("NVL(A.LTAM_POS_TYP ,  '') AS LTAM_POS_TYP ,");
		sql.append("NVL(A.LTAM_POS_CD ,   '') AS LTAM_POS_CD ,");
		sql.append("NVL(A.NAMR_POS_TYP ,  '') AS NAMR_POS_TYP ,");
		sql.append("NVL(A.NAMR_POS_CD ,   '') AS NAMR_POS_CD ,");
		sql.append("NVL(A.E_RGN_POS_TYP , '') AS E_RGN_POS_TYP ,");
		sql.append("NVL(A.ETC_RGN_POS_CD ,'') AS ETC_RGN_POS_CD ,");
		sql.append("NVL(A.O_CPRS_ITM_NO , '') AS O_CPRS_ITM_NO ,");
		sql.append("NVL(A.O_CPRS_ITM_CD , '') AS O_CPRS_ITM_CD ,");
		sql.append("NVL(A.DEL_TYP ,       '') AS DEL_TYP ,");
		sql.append("NVL(A.RGS_PGM_NM ,    '') AS RGS_PGM_NM ,");
		sql.append("NVL(A.RGS_USR_ID ,    '') AS RGS_USR_ID ,");
		sql.append("NVL(A.RGS_DTTM ,      '') AS RGS_DTTM ,");
		sql.append("NVL(A.CHG_PGM_NM ,    '') AS CHG_PGM_NM ,");
		sql.append("NVL(A.CHG_USR_ID ,    '') AS CHG_USR_ID ,");
		sql.append("NVL(A.CHG_DTTM ,      '') AS CHG_DTTM ,");
		sql.append("NVL(A.CHG_TMS ,       '') AS CHG_TMS ,");
		sql.append("NVL(B.GCAT_CD ,       '') AS GCAT_CD ");
		sql.append("FROM MDLNO A, DCAT B ");
		sql.append("WHERE ");
		sql.append("A.DCAT_CD = B.DCAT_CD(+) ");
		sql.append("AND ");
		sql.append("A.UNI_ITM_NO "+((getString("UNI_ITM_NO").equals(""))?" is null ":"=")+getString("UNI_ITM_NO")+" ");
		sql.append("AND ");
		sql.append("A.APL_BDT <"+((getString("nowDate").equals(""))?" is null ":"=")+getString("nowDate")+"  ");
		sql.append("AND ");
		sql.append("A.AC_END_DT >"+((getString("nowDate").equals(""))?" is null ":"=")+getString("nowDate")+" ");
		db.setSql(sql.toString());
		lastSql_ =sql.toString();
		SelectResultRset srr = db.executeQuery();
		paramsString     = new Hashtable();
		paramsBigDecimal = new Hashtable();
		paramsFree       = new Hashtable();

		return srr;
	}


	public void setITM_NO(String value){
		if(value==null) {
			paramsString.remove("ITM_NO");
			return;
		}
		paramsString.put("ITM_NO",value);
	}


	public void setODR_DVSN_CD(String value){
		if(value==null) {
			paramsString.remove("ODR_DVSN_CD");
			return;
		}
		paramsString.put("ODR_DVSN_CD",value);
	}


	public void setAPL_BDT(String value){
		if(value==null) {
			paramsString.remove("APL_BDT");
			return;
		}
		paramsString.put("APL_BDT",value);
	}


	public void setVDR_CD(String value){
		if(value==null) {
			paramsString.remove("VDR_CD");
			return;
		}
		paramsString.put("VDR_CD",value);
	}


	public void setFM_TYP(String value){
		if(value==null) {
			paramsString.remove("FM_TYP");
			return;
		}
		paramsString.put("FM_TYP",value);
	}


	public void setFLT_CD(String value){
		if(value==null) {
			paramsString.remove("FLT_CD");
			return;
		}
		paramsString.put("FLT_CD",value);
	}


	public void setNOW(String value){
		if(value==null) {
			paramsString.remove("NOW");
			return;
		}
		paramsString.put("NOW",value);
	}


	public void setUNI_ITM_NO(String value){
		if(value==null) {
			paramsString.remove("UNI_ITM_NO");
			return;
		}
		paramsString.put("UNI_ITM_NO",value);
	}


	public void setnowDate(String value){
		if(value==null) {
			paramsString.remove("nowDate");
			return;
		}
		paramsString.put("nowDate",value);
	}


}
